package structural.composite;

import java.util.List;

/**
 * @InterfaceName: Component
 * @Description: 组件接口（Node）
 * @Author: liu-hao
 * @Date: 2023-04-09 17:49
 * @Version: 1.0
 **/
public interface Component {

    /**
     * 新增节点
     *
     * @param c
     */
    public void add(Component c);

    /**
     * 删除节点
     *
     * @param c
     */
    public void remove(Component c);

    /**
     * 获取所有子节点
     *
     * @return
     */
    public List<Component> getChildren();

    /**
     * 具体的操作方法，根据具体业务自己定
     */
    public void operation();
}
